package org.dfg.corejava.designPattern.memento;

/**
 * 发起人，被备份的对象
 * @author DingFugui
 */
public class Originator {
	private State state;

	public State getState() {
		return state;
	}

	public void setState(State state) {
		this.state = state;
	}

	/**
	 * 创建一个备忘录，用以保存当前状态<br/>
	 * 个人认为：实际使用中，该方法可以抽象成接口，供第三方调用
	 * @return
	 */
	public Memento getMemento() {
		return new Memento(state);
	}

	/**
	 * 从一个备忘录恢复
	 * @param memento
	 */
	public void setMemento(Memento memento) {
		this.state = memento.getState();
	}
}
